package pers.xiaojun.boot.module.infra.dao.mapper;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import pers.xiaojun.boot.module.infra.dao.entity.FileDO;

/**
 * 文件数据访问层
 *
 * @author xiaojun
 * @since 2025-11-13
 */
@Mapper
public interface FileMapper extends BaseMapper<FileDO> {


    /**
     * 根据文件Url获取文件信息
     *
     * @param url 文件Url
     * @return 文件信息
     */
    default FileDO selectByUrl(String url) {
        return selectOne(new LambdaQueryWrapper<FileDO>()
                .eq(FileDO::getUrl, url)
        );
    }

    /**
     * 根据文件Path获取文件信息
     *
     * @param path 文件Url
     * @return 文件信息
     */
    default FileDO selectByPath(String path) {
        return selectOne(new LambdaQueryWrapper<FileDO>()
                .eq(FileDO::getPath, path)
        );
    }

}
